package frete;

public class Frete 
{
	public String prazoDestino(
			String estadoOrigem, String estadoDestino)
	{
		final int NUMESTADOS =	27; 
		String[] estados = {"ac", "al", "ap", "am", "ba", "ce", "df", "es",
				"go", "ma", "mt", "ms", "mg", "pa", "pb", "pr", "pe", "pi",
				"rj", "rn", "rs", "ro", "rr", "sc", "sp", "se", "to"};
		
		if( estadoOrigem == null || estadoDestino == null)
			return "Local invalido";
		else if( estadoOrigem == "" || estadoDestino == "" )
			return "Informe o local de destino e origem";
		else if(estadoOrigem.length() > 2 || estadoDestino.length() > 2)
			return "Entrada invalida";
		
		for(int i = 0; i < estadoOrigem.length(); i++)
		{
			char caractere = estadoOrigem.charAt( i );
			if(!((( caractere >= 97 ) && ( caractere <= 122 ))||
			(( caractere >= 65 )&&( caractere <= 90 ))))
				return "Entrada invalida";
		}
		for(int i = 0; i < estadoDestino.length(); i++)
		{
			char caractere = estadoDestino.charAt( i );
			if(!((( caractere >= 97 ) && ( caractere <= 122 ))||
					(( caractere >= 65 )&&( caractere <= 90 ))))
						return "Entrada invalida";
		}
		
		estadoOrigem = estadoOrigem.toLowerCase();
		estadoDestino = estadoDestino.toLowerCase();

		boolean estadoValido = false;
		for(int i = 0; i < NUMESTADOS; i++)
		{
			if(estados[i].equals(estadoOrigem) == true)
			{
				estadoValido = true;
			}
		}
		if(estadoValido == false)
			return "Estado invalido";
		
		estadoValido = false;		
		for(int i = 0; i < NUMESTADOS; i++)
		{
			if(estados[i].equals(estadoDestino) == true)
			{
				estadoValido = true;
			}
		}
		
		if(estadoValido == false)
			return "Estado invalido";		
		
		if( estadoOrigem.equals(estadoDestino) == true )
			return "Entrega em 5 dias";
		else
			return "Entrega em 15 dias";
	}
}
